//#define _CRT_SECURE_NO_WARNINGS 
//#include<iostream>
//#include<map>
//#include<string>
//using namespace std;
//typedef long long LL;
//map<string, int>mp;
//bool check(char ch)
//{
//	if((ch>='0'&&ch<='9')||ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
//	{
//		return true;
//	}
//	else return false;
//}
//int main()
//{
//    int N, P;
//
//    cin >> N >> P;
//    for (int i = 1; i <= N; i++)
//    {
//        string s; int x;
//        cin>>s>>x;
//        mp[s] = x;
//    }
//    LL ret = 0;
//    char ch;
//    string t = "";
//
//    while (scanf("%c", &ch) != EOF)
//    {
//        if (check(ch))t += ch;
//        else
//        {
//          ret=(ret+mp[t])%P;
//		  t=""; 
//        }
//
//    }
//    cout<<ret<<endl;
//    return 0;
//}
